In the data storage industry, snapshots have become a preferred method of protecting a data storage volume against inadvertent data loss and for performing background backups. A read-only snapshot is a non-writable volume that is a point-in-time image of a data storage volume that can be created, mounted, deleted, and rolled back onto the data storage volume arbitrarily. Such snapshots are utilized extensively in the data storage industry for security, backup, and archival purposes. A writeable snapshot is initially an image of a read-only parent snapshot. The writeable snapshot may be written to and modified without affecting the read-only parent snapshot. The writeable snapshot may be said to branch off of the read-only parent since modifications to the writable snapshot can cause the writable snapshot to diverge from the content of the read-only parent snapshot.
Boot consolidation allows multiple machines to boot from a single server or a single networked storage device. Snapshots can be used for boot consolidation by providing a separate snapshot on a server for each machine to boot from. To accomplish this, a single operating system installation may be performed and configured and then multiple snapshots of that single installation may be created. Each one of these multiple snapshots may then be used for booting the multiple slave machines.
Some operating systems, such as MICROSOFT WINDOWS and APPLE OS X, cannot boot from a read-only snapshot. In these cases, a writeable snapshot must be created from each read-only snapshot to allow the multiple machines to boot from the writeable snapshots. The writable snapshots share the data of their respective parent snapshots to start with, but as new writes occur at a given writable snapshot, a strict separation is maintained between that writeable snapshot's data and the data of its read-only parent snapshot. The approach of creating a single volume with an operating system image, making multiple read-only snapshots of that single volume, and then making a writable snapshot of each of those read-only snapshots can provide the multiple writeable snapshots needed for boot consolidation of multiple machines.
Conventionally, the implementation of volume snapshot systems cannot support the creation of further snapshots of a writable snapshot. Such a solution does not allow users of each of the writeable snapshots to protect their own volumes by making snapshots of their writeable snapshots.
Furthermore, the multiple read-only snapshots upon which the multiple writeable snapshots depend are typically all identical to one another. Such identical replication of read-only snapshots may be considered a waste of resources. This is particularly true where the number of total volumes is limited or where installed operating systems or other software have an additional expense for each volume that they are installed on. Conventional volume snapshot systems cannot support multiple writable snapshots from a single read-only snapshot. This results in the requirement for replicating multiple read-only snapshots.
It is with respect to these considerations and others that the disclosure made herein is presented.